#include <stdio.h>
#include <string.h>

int main(void) {
    int i,  n;
    printf("请输入颜色个数：");
    scanf("%d", &n);
    getchar();
    char *pcolor[n], str[81];

    for (i = 0; i < n; i++) {
        scanf("%s", str);
        pcolor[i] = str;
    /*问题分析：
        pcolor 是一个指针数组，每个元素都是 char* 类型，但你没有为这些指针分配内存空间。
        当你调用 strcpy(pcolor[i], str); 时，pcolor[i] 指向的内存地址是未定义的，导致段错误。
        解决方案：
        你需要为 pcolor[i] 分配内存空间，然后再进行字符串拷贝。可以使用 malloc 函数来动态分配内存。
    */
//        strcpy(pcolor[i], str);
    }
    //排序过程略
    for (i = 0; i < n; i++)
        printf("%s ", pcolor[i]);
}
